﻿namespace Sustainalytics.FileManager
{
    /// <summary>
    /// File manager interface
    /// </summary>
    public interface IFileManager
    {
        /// <summary>
        /// Add file.
        /// </summary>
        /// <param name="file"> File contents. </param>
        void AddFile(FileContents file);

        /// <summary>
        /// Get file contents.
        /// </summary>
        /// <param name="filePath"> File path. </param>
        /// <returns> File contents. </returns>
        FileContents GetFile(string filePath);

        /// <summary>
        /// Get files names in path.
        /// </summary>
        /// <param name="filePath"> File path to search for files. </param>
        /// <returns> Files names. </returns>
        string[] GetFilesInPath(string filePath);

        /// <summary>
        /// Get files in path.
        /// </summary>
        /// <param name="filePath"> File path to search for files. </param>
        /// <returns> Files. </returns>
        FileContents[] GetFiles(string filePath);
    }
}
